/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package com.python.pydev.refactoring.ui;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
import org.python.pydev.core.cache.PyPreferencesCache;
import org.python.pydev.utils.LinkFieldEditor;
import com.python.pydev.refactoring.RefactoringPlugin;
public class MarkOccurrencesPreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
public static final String USE_MARK_OCCURRENCES = "USE_MARK_OCCURRENCES";
public static final boolean DEFAULT_USE_MARK_OCCURRENCES = true;
public static final String USE_MARK_OCCURRENCES_IN_STRINGS = "USE_MARK_OCCURRENCES_IN_STRINGS";
public static final boolean DEFAULT_USE_MARK_OCCURRENCES_IN_STRINGS = true;
private static PyPreferencesCache cache;
public MarkOccurrencesPreferencesPage() {
super(FLAT);
IPreferenceStore prefs = RefactoringPlugin.getDefault().getPreferenceStore();
setPreferenceStore(prefs);
}
protected void createFieldEditors() {
Composite p = getFieldEditorParent();
addField(new BooleanFieldEditor(USE_MARK_OCCURRENCES, "Mark Occurrences?", p));
addField(new BooleanFieldEditor(USE_MARK_OCCURRENCES_IN_STRINGS, "Mark Occurrences in strings and comments?", p));
LinkFieldEditor colorsAndFontsLinkFieldEditor = new LinkFieldEditor("UNUSED",
"Color of the occurences may be changed at\n" + "<a>Annotations</a>: Occurrences (Pydev)", p,
new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
String id = "org.eclipse.ui.editors.preferencePages.Annotations";
IWorkbenchPreferenceContainer workbenchPreferenceContainer = ((IWorkbenchPreferenceContainer) getContainer());
workbenchPreferenceContainer.openPage(id, null);
}
public void widgetDefaultSelected(SelectionEvent e) {
}
});
colorsAndFontsLinkFieldEditor.getLinkControl(p);
}
public void init(IWorkbench workbench) {
}
public static boolean useMarkOccurrences() {
if (cache == null) {
cache = new PyPreferencesCache(RefactoringPlugin.getDefault().getPreferenceStore());
}
return cache.getBoolean(USE_MARK_OCCURRENCES);
}
public static boolean useMarkOccurrencesInStrings() {
if (cache == null) {
cache = new PyPreferencesCache(RefactoringPlugin.getDefault().getPreferenceStore());
}
return cache.getBoolean(USE_MARK_OCCURRENCES_IN_STRINGS);
}
}